home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / !Interfaces / Universal Interfaces 2.0a1 / CIncludes / MediaHandlers.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-17  |  8.3 KB  |  227 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        MediaHandlers.h
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a1.  ETO #15, MPW prerelease.  Sunday, July 17, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. */
  16.  
  17. #ifndef __MEDIAHANDLERS__
  18. #define __MEDIAHANDLERS__
  19.  
  20.  
  21. #ifndef __MEMORY__
  22. #include <Memory.h>
  23. #endif
  24. /*    #include <Types.h>                                            */
  25. /*        #include <ConditionalMacros.h>                            */
  26. /*    #include <MixedMode.h>                                        */
  27.  
  28. #ifndef __IMAGECOMPRESSION__
  29. #include <ImageCompression.h>
  30. #endif
  31. /*    #include <Quickdraw.h>                                        */
  32. /*        #include <QuickdrawText.h>                                */
  33. /*    #include <QDOffscreen.h>                                    */
  34. /*        #include <Errors.h>                                        */
  35. /*    #include <Components.h>                                        */
  36. /*    #include <Windows.h>                                        */
  37. /*        #include <Events.h>                                        */
  38. /*            #include <OSUtils.h>                                */
  39. /*        #include <Controls.h>                                    */
  40. /*            #include <Menus.h>                                    */
  41. /*    #include <StandardFile.h>                                    */
  42. /*        #include <Dialogs.h>                                    */
  43. /*            #include <TextEdit.h>                                */
  44. /*        #include <Files.h>                                        */
  45.  
  46. #ifndef __MOVIES__
  47. #include <Movies.h>
  48. #endif
  49. /*    #include <Aliases.h>                                        */
  50. /*        #include <AppleTalk.h>                                    */
  51.  
  52. #ifdef __cplusplus
  53. extern "C" {
  54. #endif
  55.  
  56. #if GENERATINGPOWERPC
  57. #pragma options align=mac68k
  58. #endif
  59.  
  60. #ifdef __CFM68K__
  61. #pragma lib_export on
  62. #endif
  63.  
  64.  
  65. enum {
  66.     handlerHasSpatial            = 1 << 0,
  67.     handlerCanClip                = 1 << 1,
  68.     handlerCanMatte                = 1 << 2,
  69.     handlerCanTransferMode        = 1 << 3,
  70.     handlerNeedsBuffer            = 1 << 4,
  71.     handlerNoIdle                = 1 << 5,
  72.     handlerNoScheduler            = 1 << 6,
  73.     handlerWantsTime            = 1 << 7,
  74.     handlerCGrafPortOnly        = 1 << 8
  75. };
  76.  
  77. enum {
  78.     mMustDraw                    = 1 << 3,
  79.     mAtEnd                        = 1 << 4,
  80.     mPreflightDraw                = 1 << 5
  81. };
  82.  
  83. enum {
  84.     mDidDraw                    = 1 << 0,
  85.     mNeedsToDraw                = 1 << 2,
  86.     mPartialDraw                = 1 << 4
  87. };
  88.  
  89. enum {
  90.     forceUpdateRedraw            = 1 << 0,
  91.     forceUpdateNewBuffer        = 1 << 1
  92. };
  93.  
  94. struct GetMovieCompleteParams {
  95.     short                            version;
  96.     Movie                            theMovie;
  97.     Track                            theTrack;
  98.     Media                            theMedia;
  99.     TimeScale                        movieScale;
  100.     TimeScale                        mediaScale;
  101.     TimeValue                        movieDuration;
  102.     TimeValue                        trackDuration;
  103.     TimeValue                        mediaDuration;
  104.     Fixed                            effectiveRate;
  105.     TimeBase                        timeBase;
  106.     short                            volume;
  107.     Fixed                            width;
  108.     Fixed                            height;
  109.     MatrixRecord                    trackMovieMatrix;
  110.     CGrafPtr                        moviePort;
  111.     GDHandle                        movieGD;
  112.     PixMapHandle                    trackMatte;
  113. };
  114. typedef struct GetMovieCompleteParams GetMovieCompleteParams;
  115.  
  116.  
  117. enum {
  118.     kMediaInitializeSelect        = 0x501,
  119.     kMediaSetHandlerCapabilitiesSelect = 0x502,
  120.     kMediaIdleSelect            = 0x503,
  121.     kMediaGetMediaInfoSelect    = 0x504,
  122.     kMediaPutMediaInfoSelect    = 0x505,
  123.     kMediaSetActiveSelect        = 0x506,
  124.     kMediaSetRateSelect            = 0x507,
  125.     kMediaGGetStatusSelect        = 0x508,
  126.     kMediaTrackEditedSelect        = 0x509,
  127.     kMediaSetMediaTimeScaleSelect = 0x50A,
  128.     kMediaSetMovieTimeScaleSelect = 0x50B,
  129.     kMediaSetGWorldSelect        = 0x50C,
  130.     kMediaSetDimensionsSelect    = 0x50D,
  131.     kMediaSetClipSelect            = 0x50E,
  132.     kMediaSetMatrixSelect        = 0x50F,
  133.     kMediaGetTrackOpaqueSelect    = 0x510,
  134.     kMediaSetGraphicsModeSelect    = 0x511,
  135.     kMediaGetGraphicsModeSelect    = 0x512,
  136.     kMediaGSetVolumeSelect        = 0x513,
  137.     kMediaSetSoundBalanceSelect    = 0x514,
  138.     kMediaGetSoundBalanceSelect    = 0x515,
  139.     kMediaGetNextBoundsChangeSelect = 0x516,
  140.     kMediaGetSrcRgnSelect        = 0x517,
  141.     kMediaPrerollSelect            = 0x518,
  142.     kMediaSampleDescriptionChangedSelect = 0x519,
  143.     kMediaHasCharacteristicSelect = 0x51A,
  144.     kMediaGetOffscreenBufferSizeSelect = 0x51B,
  145.     kMediaSetHintsSelect        = 0x51C,
  146.     kMediaGetNameSelect            = 0x51D,
  147.     kMediaForceUpdateSelect        = 0x51E,
  148.     kMediaGetDrawingRgnSelect    = 0x521
  149. };
  150.  
  151. extern pascal ComponentResult MediaInitialize(ComponentInstance ci, GetMovieCompleteParams *gmc)
  152.  FIVEWORDINLINE(0x2F3C, 0x4, 0x501, 0x7000, 0xA82A);
  153. extern pascal ComponentResult MediaSetHandlerCapabilities(ComponentInstance ci, long flags, long flagsMask)
  154.  FIVEWORDINLINE(0x2F3C, 0x8, 0x502, 0x7000, 0xA82A);
  155. extern pascal ComponentResult MediaIdle(ComponentInstance ci, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime)
  156.  FIVEWORDINLINE(0x2F3C, 0x10, 0x503, 0x7000, 0xA82A);
  157. extern pascal ComponentResult MediaGetMediaInfo(ComponentInstance ci, Handle h)
  158.  FIVEWORDINLINE(0x2F3C, 0x4, 0x504, 0x7000, 0xA82A);
  159. extern pascal ComponentResult MediaPutMediaInfo(ComponentInstance ci, Handle h)
  160.  FIVEWORDINLINE(0x2F3C, 0x4, 0x505, 0x7000, 0xA82A);
  161. extern pascal ComponentResult MediaSetActive(ComponentInstance ci, Boolean enableMedia)
  162.  FIVEWORDINLINE(0x2F3C, 0x2, 0x506, 0x7000, 0xA82A);
  163. extern pascal ComponentResult MediaSetRate(ComponentInstance ci, Fixed rate)
  164.  FIVEWORDINLINE(0x2F3C, 0x4, 0x507, 0x7000, 0xA82A);
  165. extern pascal ComponentResult MediaGGetStatus(ComponentInstance ci, ComponentResult *statusErr)
  166.  FIVEWORDINLINE(0x2F3C, 0x4, 0x508, 0x7000, 0xA82A);
  167. extern pascal ComponentResult MediaTrackEdited(ComponentInstance ci)
  168.  FIVEWORDINLINE(0x2F3C, 0x0, 0x509, 0x7000, 0xA82A);
  169. extern pascal ComponentResult MediaSetMediaTimeScale(ComponentInstance ci, TimeScale newTimeScale)
  170.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50A, 0x7000, 0xA82A);
  171. extern pascal ComponentResult MediaSetMovieTimeScale(ComponentInstance ci, TimeScale newTimeScale)
  172.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50B, 0x7000, 0xA82A);
  173. extern pascal ComponentResult MediaSetGWorld(ComponentInstance ci, CGrafPtr aPort, GDHandle aGD)
  174.  FIVEWORDINLINE(0x2F3C, 0x8, 0x50C, 0x7000, 0xA82A);
  175. extern pascal ComponentResult MediaSetDimensions(ComponentInstance ci, Fixed width, Fixed height)
  176.  FIVEWORDINLINE(0x2F3C, 0x8, 0x50D, 0x7000, 0xA82A);
  177. extern pascal ComponentResult MediaSetClip(ComponentInstance ci, RgnHandle theClip)
  178.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50E, 0x7000, 0xA82A);
  179. extern pascal ComponentResult MediaSetMatrix(ComponentInstance ci, MatrixRecord *trackMovieMatrix)
  180.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50F, 0x7000, 0xA82A);
  181. extern pascal ComponentResult MediaGetTrackOpaque(ComponentInstance ci, Boolean *trackIsOpaque)
  182.  FIVEWORDINLINE(0x2F3C, 0x4, 0x510, 0x7000, 0xA82A);
  183. extern pascal ComponentResult MediaSetGraphicsMode(ComponentInstance ci, long mode, RGBColor *opColor)
  184.  FIVEWORDINLINE(0x2F3C, 0x8, 0x511, 0x7000, 0xA82A);
  185. extern pascal ComponentResult MediaGetGraphicsMode(ComponentInstance ci, long *mode, RGBColor *opColor)
  186.  FIVEWORDINLINE(0x2F3C, 0x8, 0x512, 0x7000, 0xA82A);
  187. extern pascal ComponentResult MediaGSetVolume(ComponentInstance ci, short volume)
  188.  FIVEWORDINLINE(0x2F3C, 0x2, 0x513, 0x7000, 0xA82A);
  189. extern pascal ComponentResult MediaSetSoundBalance(ComponentInstance ci, short balance)
  190.  FIVEWORDINLINE(0x2F3C, 0x2, 0x514, 0x7000, 0xA82A);
  191. extern pascal ComponentResult MediaGetSoundBalance(ComponentInstance ci, short *balance)
  192.  FIVEWORDINLINE(0x2F3C, 0x4, 0x515, 0x7000, 0xA82A);
  193. extern pascal ComponentResult MediaGetNextBoundsChange(ComponentInstance ci, TimeValue *when)
  194.  FIVEWORDINLINE(0x2F3C, 0x4, 0x516, 0x7000, 0xA82A);
  195. extern pascal ComponentResult MediaGetSrcRgn(ComponentInstance ci, RgnHandle rgn, TimeValue atMediaTime)
  196.  FIVEWORDINLINE(0x2F3C, 0x8, 0x517, 0x7000, 0xA82A);
  197. extern pascal ComponentResult MediaPreroll(ComponentInstance ci, TimeValue time, Fixed rate)
  198.  FIVEWORDINLINE(0x2F3C, 0x8, 0x518, 0x7000, 0xA82A);
  199. extern pascal ComponentResult MediaSampleDescriptionChanged(ComponentInstance ci, long index)
  200.  FIVEWORDINLINE(0x2F3C, 0x4, 0x519, 0x7000, 0xA82A);
  201. extern pascal ComponentResult MediaHasCharacteristic(ComponentInstance ci, OSType characteristic, Boolean *hasIt)
  202.  FIVEWORDINLINE(0x2F3C, 0x8, 0x51A, 0x7000, 0xA82A);
  203. extern pascal ComponentResult MediaGetOffscreenBufferSize(ComponentInstance ci, Rect *bounds, short depth, CTabHandle ctab)
  204.  FIVEWORDINLINE(0x2F3C, 0xA, 0x51B, 0x7000, 0xA82A);
  205. extern pascal ComponentResult MediaSetHints(ComponentInstance ci, long hints)
  206.  FIVEWORDINLINE(0x2F3C, 0x4, 0x51C, 0x7000, 0xA82A);
  207. extern pascal ComponentResult MediaGetName(ComponentInstance ci, Str255 name, long requestedLanguage, long *actualLanguage)
  208.  FIVEWORDINLINE(0x2F3C, 0xC, 0x51D, 0x7000, 0xA82A);
  209. extern pascal ComponentResult MediaForceUpdate(ComponentInstance ci, long forceUpdateFlags)
  210.  FIVEWORDINLINE(0x2F3C, 0x4, 0x51E, 0x7000, 0xA82A);
  211. extern pascal ComponentResult MediaGetDrawingRgn(ComponentInstance ci, RgnHandle *partialRgn)
  212.  FIVEWORDINLINE(0x2F3C, 0x4, 0x521, 0x7000, 0xA82A);
  213.  
  214. #ifdef __CFM68K__
  215. #pragma lib_export off
  216. #endif
  217.  
  218. #if GENERATINGPOWERPC
  219. #pragma options align=reset
  220. #endif
  221.  
  222. #ifdef __cplusplus
  223. }
  224. #endif
  225.  
  226. #endif /* __MEDIAHANDLERS__ */
  227.